﻿using System;
using System.Collections.Generic;
using System.Web.Mvc;
using GameStepAzure.Models;

namespace GameStepAzure.Controllers
{
    [AllowAnonymous]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            IFachadaProductos fachada = new FachadaProductos();
            ViewBag.Accion = "Principal";

            return View(fachada.ListarProductosIndex());
        }

        public ActionResult Xbox360(String Tipo)
        {
            IFachadaProductos fachada = new FachadaProductos();
            List<Producto> productos;
            ViewBag.Accion = "Xbox360";

            if (Tipo == null || Tipo == "VideoJuegos")
            {
                productos = fachada.ListarProductosXbox();
                ViewBag.Titulo = "VideoJuegos de Xbox 360";
            }
            else
            {
                productos = fachada.ListarAccesoriosXbox();
                ViewBag.Titulo = "Accesorios de Xbox 360";
            }

            return View(productos);
        }

        public ActionResult Ps3(String Tipo)
        {
            IFachadaProductos fachada = new FachadaProductos();
            List<Producto> productos;
            ViewBag.Accion = "Ps3";

            if (Tipo == null || Tipo == "VideoJuegos")
            {
                productos = fachada.ListarProductosPS3();
                ViewBag.Titulo = "VideoJuegos de Playstation 3";
            }
            else
            {
                productos = fachada.ListarAccesoriosPS3();
                ViewBag.Titulo = "Accesorios de Playstation 3";
            }

            return View(productos);
        }

        public ActionResult PsVita(String Tipo)
        {
            IFachadaProductos fachada = new FachadaProductos();
            List<Producto> productos;
            ViewBag.Accion = "PsVita";

            if (Tipo == null || Tipo == "VideoJuegos")
            {
                productos = fachada.ListarProductosPsVita();
                ViewBag.Titulo = "VideoJuegos de PsVita";
            }
            else
            {
                productos = fachada.ListarAccesoriosPsVita();
                ViewBag.Titulo = "Accesorios de PsVita";
            }


            return View(productos);
        }

        public ActionResult _3DS(String Tipo)
        {
            IFachadaProductos fachada = new FachadaProductos();
            List<Producto> productos;
            ViewBag.Accion = "_3Ds";

            if (Tipo == null || Tipo == "VideoJuegos")
            {
                productos = fachada.ListarProductos3DS();
                ViewBag.Titulo = "VideoJuegos de 3Ds";
            }
            else
            {
                productos = fachada.ListarAccesorios3DS();
                ViewBag.Titulo = "Accesorios de 3Ds";
            }


            return View(productos);
        }

        public ActionResult Wii(String Tipo)
        {
            IFachadaProductos fachada = new FachadaProductos();
            List<Producto> productos;
            ViewBag.Accion = "Wii";

            if (Tipo == null || Tipo == "VideoJuegos")
            {
                productos = fachada.ListarProductosWii();
                ViewBag.Titulo = "VideoJuegos de Wii";
            }
            else
            {
                productos = fachada.ListarAccesriosWii();
                ViewBag.Titulo = "Accesorios de Wii";
            }

            return View(productos);
        }

        public ActionResult LibroVisitas()
        {
            GuestBookContext context = new GuestBookContext();
            return View(context.ListarLibroVisitas);
        }

        public ActionResult Sobre()
        {
            return View();
        }

        public ActionResult AgregarLibroVisita()
        {

            return View();
        }

        [HttpPost]
        public ActionResult AgregarLibroVisita(GuestBook g)
        {
            GuestBookContext context = new GuestBookContext();
            String pathServer = Server.MapPath("~/_Documentos/LibroVisitas");
            context.AgregarGuestBook(g, pathServer);

            return RedirectToAction("LibroVisitas");
        }
    }
}
